﻿using System.ComponentModel;

namespace Vtron.HipcConfigurationTools.Domain
{
    /// <summary>
    /// 版本信息
    /// </summary>
    public class VersionInfo : INotifyPropertyChanged
    {
        #region Fields

        private string software;
        private string fPGA;
        private string hardware;
        private string pCBA; 

        #endregion

        #region Properties

        /// <summary>
        /// 软件
        /// </summary>
        public string Software
        {
            get { return software; }
            set
            {
                software = value;
                if (PropertyChanged != null)
                {
                    PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Software"));
                }
            }
        }

        /// <summary>
        /// FPGA
        /// </summary>
        public string FPGA
        {
            get { return fPGA; }
            set
            {
                fPGA = value;
                if (PropertyChanged != null)
                {
                    PropertyChanged.Invoke(this, new PropertyChangedEventArgs("FPGA"));
                }
            }
        }

        /// <summary>
        /// 硬件
        /// </summary>
        public string Hardware
        {
            get { return hardware; }
            set
            {
                hardware = value;
                if (PropertyChanged != null)
                {
                    PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Hardware"));
                }
            }
        }

        /// <summary>
        /// PCBA
        /// </summary>
        public string PCBA
        {
            get { return pCBA; }
            set
            {
                pCBA = value;
                if (PropertyChanged != null)
                {
                    PropertyChanged.Invoke(this, new PropertyChangedEventArgs("PCBA"));
                }
            }
        } 

        #endregion

        public event PropertyChangedEventHandler PropertyChanged;
    }
}
